﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace CoreInmobiliario.Frontend
{
    public partial class Print : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GetPublicacion();
            }
        }

        /// <summary>
        /// Obtenemos los datos de la publicación y mostramos en pantalla
        /// </summary>
        public void GetPublicacion()
        {
            Data.Publicacion publicacion = Business.Publicacion.GetInstance().GetById(GetPublicacionIdQueryString());
            if (publicacion != null)
            {
                lblTituloPublicacion.Text = publicacion.Operacion.Nombre + " - " + publicacion.Propiedad.Calle + " y " + publicacion.Propiedad.Interseccion + " - " + publicacion.Propiedad.Localidad.Nombre + " | Código: " + publicacion.Codigo;
                lblSuperficie.Text = publicacion.Propiedad.Superficie.ToString();
                lblMetros.Text = publicacion.Propiedad.MetrosCubiertos.ToString();
                lblEstado.Text = publicacion.Propiedad.Estado;
                lblDormitorios.Text = publicacion.Propiedad.Dormitorios.ToString();
                lblBanos.Text = publicacion.Propiedad.Banio.ToString();
                lblAntiguedad.Text = publicacion.Propiedad.Antiguedad;
                lblAmbientes.Text = publicacion.Propiedad.Ambientes.ToString();
                if (publicacion.OperacionId == 1)
                    lblPrecio.Text = publicacion.Moneda1.Signo + publicacion.PrecioVenta.ToString();
                else if (publicacion.OperacionId == 2)
                    lblPrecio.Text = publicacion.Moneda.Signo + publicacion.PrecioAlquiler.ToString();
                else
                    lblPrecio.Text = publicacion.Moneda1.Signo + publicacion.PrecioVenta.ToString() + " - " + publicacion.Moneda.Signo + publicacion.PrecioAlquiler.ToString();

                if (publicacion.Requisitos != "")
                    lblRequisitos.Text = publicacion.Requisitos;
                else
                    divRequisitos.Visible = false;

                lblDescripcion.Text = publicacion.Propiedad.Descripcion;
                gvCaracteristicas.DataSource = Business.Caracteristica.GetInstance().GetListCaracteristicaByPropiedadId(publicacion.PropiedadId);
                gvCaracteristicas.DataBind();
                gvServicios.DataSource = Business.Servicio.GetInstance().GetListServicioByPropiedadId(publicacion.PropiedadId);
                gvServicios.DataBind();
            }
            else
            {
                Response.Redirect("Buscador.aspx");
            }
        }

        /// <summary>
        /// Si hay imagenes subidas, devuelve el path de la 1ra para visualizar como portada
        /// </summary>
        /// <returns></returns>
        public string GetImagenPortada()
        {
            Data.Publicacion publicacion = Business.Publicacion.GetInstance().GetById(GetPublicacionIdQueryString());
            string pathImagePortada = HelperClasses.Utils.GetConfig(HelperClasses.Parameters.PROPIEDADES_PATH) + publicacion.PropiedadId.ToString() + "/" + publicacion.PropiedadId.ToString() + "_1.jpg";

            if (System.IO.File.Exists(Server.MapPath(pathImagePortada)))
                return pathImagePortada.Substring(2);
            else
                return "Images/Style/sin_foto.jpg";
        }

        public int GetPublicacionIdQueryString()
        {
            try
            {
                return Int32.Parse(Request.QueryString["id"]);
            }
            catch
            {
                Response.Redirect("Buscador.aspx");
                return 0;
            }
        }
    }
}